// pages/home/home.js
const $app = getApp()
Page({
  data: {
    baseUrl: $app.baseUrl,
    menuData: $app.menuData || {}, // 1级菜单数据
    selected: null, // 当前选中tab
    noReadMsgNum: { // 未读消息数量
      sum: 0, // 总
      spsum: 0, // 审批提醒
      dqsum: 0, // 到期提醒
      jfsum: 0, // 缴费提醒
      xjsum: 0 // 巡检提醒
    }
  },
  // ========== 生命周期: 页面加载 ==========
  onLoad: function (options) {
    this.setData({ menuData: $app.menuData })
    wx.hideHomeButton() // 隐藏返回首页按钮
    // wx.hideNavigationBarLoading()
    // 默认显示页
    const k = $app.menuCurrent || 'home_workbench'
    const item = $app.menuData[k]
    this.switchTab({ currentTarget: { dataset: { k, item } } })
    // 监听未读消息数量
    $app.watch(this, {
      sum: this.watchNoReadMsgNum,
      spsum: this.watchNoReadMsgNum,
      dqsum: this.watchNoReadMsgNum,
      jfsum: this.watchNoReadMsgNum,
      xjsum: this.watchNoReadMsgNum
    }, 'noReadMsgNum')
  },
  // ========== 监听未读消息数量 ==========
  watchNoReadMsgNum (val, k) {
    const noReadMsgNum = this.data.noReadMsgNum
    if (val === noReadMsgNum[k]) return
    const max = 99
    this.setData({ [`noReadMsgNum.${k}`]: val > max ? `${max}+` : val })
  },
  // ========== 生命周期: 页面初次渲染完成 ==========
  onReady: function () {},
  // ========== 生命周期: 页面显示 ==========
  onShow: function () {
    $app.$common_base.getNoReadMsgNum() // 获取未读消息数量
    // $app.$common_base.getNoReadMsgNumCeshi()
    // 重设头部标题名字
    const k = $app.menuCurrent || 'home_workbench'
    const item = $app.menuData[k]
    wx.setNavigationBarTitle({ title: item.text })
  },
  // ========== 生命周期: 页面隐藏 ==========
  onHide: function () {},
  // ========== 生命周期: 页面卸载 ==========
  onUnload: function () {},
  // ========== 切换tab事件 ==========
  switchTab (e) {
    const k = e.currentTarget.dataset.k
    const b = e.currentTarget.dataset.item
    if (k === this.data.selected) return
    this.setData({ selected: k })
    $app.menuCurrent = k
    wx.setNavigationBarTitle({ title: b.text })
  }
})